package com.desksoft.ecommerce.entity.mall.dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * *************************************
 * <pre>
 * 版权所有：杭州迪科软件 保留所有权利
 * 创建日期: 2013-4-1 下午12:38:09
 * 创建作者：fy
 * 文件名称：Point2bonusExample.java.java
 * 版本：1.0
 * 功能：		
 * 最后修改时间：2013-4-1
 * 修改记录：
 * </pre>
 ****************************************
 */
public class Point2bonusExample  implements Serializable {
    /**
	 * 
	 */
	private static final long serialVersionUID = -1865707911032415592L;

	protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public Point2bonusExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSeqnoIsNull() {
            addCriterion("Seqno is null");
            return (Criteria) this;
        }

        public Criteria andSeqnoIsNotNull() {
            addCriterion("Seqno is not null");
            return (Criteria) this;
        }

        public Criteria andSeqnoEqualTo(Long value) {
            addCriterion("Seqno =", value, "seqno");
            return (Criteria) this;
        }

        public Criteria andSeqnoNotEqualTo(Long value) {
            addCriterion("Seqno <>", value, "seqno");
            return (Criteria) this;
        }

        public Criteria andSeqnoGreaterThan(Long value) {
            addCriterion("Seqno >", value, "seqno");
            return (Criteria) this;
        }

        public Criteria andSeqnoGreaterThanOrEqualTo(Long value) {
            addCriterion("Seqno >=", value, "seqno");
            return (Criteria) this;
        }

        public Criteria andSeqnoLessThan(Long value) {
            addCriterion("Seqno <", value, "seqno");
            return (Criteria) this;
        }

        public Criteria andSeqnoLessThanOrEqualTo(Long value) {
            addCriterion("Seqno <=", value, "seqno");
            return (Criteria) this;
        }

        public Criteria andSeqnoIn(List<Long> values) {
            addCriterion("Seqno in", values, "seqno");
            return (Criteria) this;
        }

        public Criteria andSeqnoNotIn(List<Long> values) {
            addCriterion("Seqno not in", values, "seqno");
            return (Criteria) this;
        }

        public Criteria andSeqnoBetween(Long value1, Long value2) {
            addCriterion("Seqno between", value1, value2, "seqno");
            return (Criteria) this;
        }

        public Criteria andSeqnoNotBetween(Long value1, Long value2) {
            addCriterion("Seqno not between", value1, value2, "seqno");
            return (Criteria) this;
        }

        public Criteria andDccodeIsNull() {
            addCriterion("DCCode is null");
            return (Criteria) this;
        }

        public Criteria andDccodeIsNotNull() {
            addCriterion("DCCode is not null");
            return (Criteria) this;
        }

        public Criteria andDccodeEqualTo(String value) {
            addCriterion("DCCode =", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeNotEqualTo(String value) {
            addCriterion("DCCode <>", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeGreaterThan(String value) {
            addCriterion("DCCode >", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeGreaterThanOrEqualTo(String value) {
            addCriterion("DCCode >=", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeLessThan(String value) {
            addCriterion("DCCode <", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeLessThanOrEqualTo(String value) {
            addCriterion("DCCode <=", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeLike(String value) {
            addCriterion("DCCode like", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeNotLike(String value) {
            addCriterion("DCCode not like", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeIn(List<String> values) {
            addCriterion("DCCode in", values, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeNotIn(List<String> values) {
            addCriterion("DCCode not in", values, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeBetween(String value1, String value2) {
            addCriterion("DCCode between", value1, value2, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeNotBetween(String value1, String value2) {
            addCriterion("DCCode not between", value1, value2, "dccode");
            return (Criteria) this;
        }

        public Criteria andStorecodeIsNull() {
            addCriterion("StoreCode is null");
            return (Criteria) this;
        }

        public Criteria andStorecodeIsNotNull() {
            addCriterion("StoreCode is not null");
            return (Criteria) this;
        }

        public Criteria andStorecodeEqualTo(String value) {
            addCriterion("StoreCode =", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotEqualTo(String value) {
            addCriterion("StoreCode <>", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeGreaterThan(String value) {
            addCriterion("StoreCode >", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeGreaterThanOrEqualTo(String value) {
            addCriterion("StoreCode >=", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeLessThan(String value) {
            addCriterion("StoreCode <", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeLessThanOrEqualTo(String value) {
            addCriterion("StoreCode <=", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeLike(String value) {
            addCriterion("StoreCode like", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotLike(String value) {
            addCriterion("StoreCode not like", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeIn(List<String> values) {
            addCriterion("StoreCode in", values, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotIn(List<String> values) {
            addCriterion("StoreCode not in", values, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeBetween(String value1, String value2) {
            addCriterion("StoreCode between", value1, value2, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotBetween(String value1, String value2) {
            addCriterion("StoreCode not between", value1, value2, "storecode");
            return (Criteria) this;
        }

        public Criteria andVipclassIsNull() {
            addCriterion("VipClass is null");
            return (Criteria) this;
        }

        public Criteria andVipclassIsNotNull() {
            addCriterion("VipClass is not null");
            return (Criteria) this;
        }

        public Criteria andVipclassEqualTo(String value) {
            addCriterion("VipClass =", value, "vipclass");
            return (Criteria) this;
        }

        public Criteria andVipclassNotEqualTo(String value) {
            addCriterion("VipClass <>", value, "vipclass");
            return (Criteria) this;
        }

        public Criteria andVipclassGreaterThan(String value) {
            addCriterion("VipClass >", value, "vipclass");
            return (Criteria) this;
        }

        public Criteria andVipclassGreaterThanOrEqualTo(String value) {
            addCriterion("VipClass >=", value, "vipclass");
            return (Criteria) this;
        }

        public Criteria andVipclassLessThan(String value) {
            addCriterion("VipClass <", value, "vipclass");
            return (Criteria) this;
        }

        public Criteria andVipclassLessThanOrEqualTo(String value) {
            addCriterion("VipClass <=", value, "vipclass");
            return (Criteria) this;
        }

        public Criteria andVipclassLike(String value) {
            addCriterion("VipClass like", value, "vipclass");
            return (Criteria) this;
        }

        public Criteria andVipclassNotLike(String value) {
            addCriterion("VipClass not like", value, "vipclass");
            return (Criteria) this;
        }

        public Criteria andVipclassIn(List<String> values) {
            addCriterion("VipClass in", values, "vipclass");
            return (Criteria) this;
        }

        public Criteria andVipclassNotIn(List<String> values) {
            addCriterion("VipClass not in", values, "vipclass");
            return (Criteria) this;
        }

        public Criteria andVipclassBetween(String value1, String value2) {
            addCriterion("VipClass between", value1, value2, "vipclass");
            return (Criteria) this;
        }

        public Criteria andVipclassNotBetween(String value1, String value2) {
            addCriterion("VipClass not between", value1, value2, "vipclass");
            return (Criteria) this;
        }

        public Criteria andPointsIsNull() {
            addCriterion("Points is null");
            return (Criteria) this;
        }

        public Criteria andPointsIsNotNull() {
            addCriterion("Points is not null");
            return (Criteria) this;
        }

        public Criteria andPointsEqualTo(BigDecimal value) {
            addCriterion("Points =", value, "points");
            return (Criteria) this;
        }

        public Criteria andPointsNotEqualTo(BigDecimal value) {
            addCriterion("Points <>", value, "points");
            return (Criteria) this;
        }

        public Criteria andPointsGreaterThan(BigDecimal value) {
            addCriterion("Points >", value, "points");
            return (Criteria) this;
        }

        public Criteria andPointsGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("Points >=", value, "points");
            return (Criteria) this;
        }

        public Criteria andPointsLessThan(BigDecimal value) {
            addCriterion("Points <", value, "points");
            return (Criteria) this;
        }

        public Criteria andPointsLessThanOrEqualTo(BigDecimal value) {
            addCriterion("Points <=", value, "points");
            return (Criteria) this;
        }

        public Criteria andPointsIn(List<BigDecimal> values) {
            addCriterion("Points in", values, "points");
            return (Criteria) this;
        }

        public Criteria andPointsNotIn(List<BigDecimal> values) {
            addCriterion("Points not in", values, "points");
            return (Criteria) this;
        }

        public Criteria andPointsBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Points between", value1, value2, "points");
            return (Criteria) this;
        }

        public Criteria andPointsNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Points not between", value1, value2, "points");
            return (Criteria) this;
        }

        public Criteria andPointsrateIsNull() {
            addCriterion("PointsRate is null");
            return (Criteria) this;
        }

        public Criteria andPointsrateIsNotNull() {
            addCriterion("PointsRate is not null");
            return (Criteria) this;
        }

        public Criteria andPointsrateEqualTo(BigDecimal value) {
            addCriterion("PointsRate =", value, "pointsrate");
            return (Criteria) this;
        }

        public Criteria andPointsrateNotEqualTo(BigDecimal value) {
            addCriterion("PointsRate <>", value, "pointsrate");
            return (Criteria) this;
        }

        public Criteria andPointsrateGreaterThan(BigDecimal value) {
            addCriterion("PointsRate >", value, "pointsrate");
            return (Criteria) this;
        }

        public Criteria andPointsrateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("PointsRate >=", value, "pointsrate");
            return (Criteria) this;
        }

        public Criteria andPointsrateLessThan(BigDecimal value) {
            addCriterion("PointsRate <", value, "pointsrate");
            return (Criteria) this;
        }

        public Criteria andPointsrateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("PointsRate <=", value, "pointsrate");
            return (Criteria) this;
        }

        public Criteria andPointsrateIn(List<BigDecimal> values) {
            addCriterion("PointsRate in", values, "pointsrate");
            return (Criteria) this;
        }

        public Criteria andPointsrateNotIn(List<BigDecimal> values) {
            addCriterion("PointsRate not in", values, "pointsrate");
            return (Criteria) this;
        }

        public Criteria andPointsrateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PointsRate between", value1, value2, "pointsrate");
            return (Criteria) this;
        }

        public Criteria andPointsrateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PointsRate not between", value1, value2, "pointsrate");
            return (Criteria) this;
        }

        public Criteria andBonustypeIsNull() {
            addCriterion("BonusType is null");
            return (Criteria) this;
        }

        public Criteria andBonustypeIsNotNull() {
            addCriterion("BonusType is not null");
            return (Criteria) this;
        }

        public Criteria andBonustypeEqualTo(String value) {
            addCriterion("BonusType =", value, "bonustype");
            return (Criteria) this;
        }

        public Criteria andBonustypeNotEqualTo(String value) {
            addCriterion("BonusType <>", value, "bonustype");
            return (Criteria) this;
        }

        public Criteria andBonustypeGreaterThan(String value) {
            addCriterion("BonusType >", value, "bonustype");
            return (Criteria) this;
        }

        public Criteria andBonustypeGreaterThanOrEqualTo(String value) {
            addCriterion("BonusType >=", value, "bonustype");
            return (Criteria) this;
        }

        public Criteria andBonustypeLessThan(String value) {
            addCriterion("BonusType <", value, "bonustype");
            return (Criteria) this;
        }

        public Criteria andBonustypeLessThanOrEqualTo(String value) {
            addCriterion("BonusType <=", value, "bonustype");
            return (Criteria) this;
        }

        public Criteria andBonustypeLike(String value) {
            addCriterion("BonusType like", value, "bonustype");
            return (Criteria) this;
        }

        public Criteria andBonustypeNotLike(String value) {
            addCriterion("BonusType not like", value, "bonustype");
            return (Criteria) this;
        }

        public Criteria andBonustypeIn(List<String> values) {
            addCriterion("BonusType in", values, "bonustype");
            return (Criteria) this;
        }

        public Criteria andBonustypeNotIn(List<String> values) {
            addCriterion("BonusType not in", values, "bonustype");
            return (Criteria) this;
        }

        public Criteria andBonustypeBetween(String value1, String value2) {
            addCriterion("BonusType between", value1, value2, "bonustype");
            return (Criteria) this;
        }

        public Criteria andBonustypeNotBetween(String value1, String value2) {
            addCriterion("BonusType not between", value1, value2, "bonustype");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}